Virtualization technologies known as server based computing (SBC) and virtual desktop infrastructure (VDI) enable organizations to replace traditional personal computers (PCs) with instances of desktops that are hosted on virtual machines running on servers in a data center. A thin client installed on a user's terminal remotely connects to operating remote sessions that present a graphical portion of an application or desktop to the user on the terminal. Typically SBC systems are designed to host multiple users per operating system and VDI systems are designed to host one user per session. VDI uses multiple virtual machines, each simultaneously running an operating system, to host multiple running operating systems, thereby allowing multiple users to share a single physical server machine. Both types of systems are designed to target a large number of users where multiple servers are required. Both types of systems utilize a “connection broker” that dispatches a new application or login request to available servers to help with load balancing.
One advantage of VDI over SBC is an ability to migrate virtual desktops running on virtual machines across servers. When the workload on any one server becomes too high, virtual machines that are running virtual desktops can be migrated to other servers to distribute the workload. Such migration can be carried out, for example, using VMware VMotion, which is available from VMware, Inc. of Palo Alto, Calif. However, migration of entire virtual machines from one server to another server cannot alleviate excessive workloads that occur within a single virtual machine. Current migration techniques do not adequately resolve the increased workload within a single operating system where multiple processes are generating the load because any other server to which the virtual machine is migrated would also have to bear the same computational workload. As a way to protect against these types of situations, some SBC providers recommend maintaining a maximum workload of only 20% usage, leaving the 80% as a safety margin for usage spikes.